__author__ = 'FutureAdmin'

"""
    我们使用已经介绍过的标记创建了字典ab.然后我们使用在列表和元组章节中已经讨论过的索引操作符来支顶尖,从而使用键值对,我们可以看到字典的语法同样十分简单.

    我们可以使用索引操作符来寻址一个键并为他赋值.这样就增加了一个新的键值对,就像在上面的例子中我们对Guido所做的一样.


    我们可以使用我们的老朋友del语句来删除键值对,我们只需要知名字典和索引操作符 指明要删除的键,然后把他们传递给del语句就可以了.执行这个操作的时候,我们无需知道那个键所对应的值.

    接下来,我们使用字典的items方法.来使用字典中的每个键值对,这会返回一个元组的列表.其中每个元组都包含一对项目--键与对应的值,我们抓取这个对,然后分别赋给for...in循环中的变量name和address然后在for块中打印这些值.


    我们可以使用in操作符来检验一个键值对是否存在,或者使用dict类的has_key方法.你可以使用help(dict)来查看dict类的完整方法列表.

    关键字参数与字典,如果换一个角度来看待你在函数中使用的关键字参数的话,你已经使用了字典,只需想一下--你在函数定义的参数列表中使用的键值对,当你在函数中使用变量的时候,他只不过是使用一个字典的键.
"""



ab ={
    "Swaroop":"swaroopch@byteofpython.info",
    "Larry":"larry@wall.org",
    "Matsumoto":"matz@ruby-lang.org",
    "Spammer":"spammer@hotmail.com"
}

print("Swarop's address is %s" %ab["Swaroop"])

ab["Guido"] = "guido@python.org"

del ab["Spammer"]

print("\nThere are %d contacts in the addressbok" %len(ab))

for name , address in ab.items():
    print("Contact %s at %s" %(name,address))

if "Guido" in ab :
    print("\nGuido's address is %s" %ab["Guido"])